From 7c5e1cb7037fc9e824c044547d2a664fb800bb1f Mon Sep 17 00:00:00 2001 From: Adrian Johnson Date: Sat, 21 Nov 2009 21:10:36 +1030 Subject: [PATCH] Set hard margins to 0 when printing n-up on unix printers --- gtk/gtkprintoperation-unix.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/gtk/gtkprintoperation-unix.c b/gtk/gtkprintoperation-unix.c index 5940600b76..fb3b51adc0 100644 --- a/gtk/gtkprintoperation-unix.c +++ b/gtk/gtkprintoperation-unix.c @@ -545,8 +545,19 @@ finish_print (PrintResponseData *rdata, gtk_print_operation_set_print_settings (op, settings); priv->print_context = _gtk_print_context_new (op); - if (gtk_printer_get_hard_margins (printer, &top, &bottom, &left, &right)) - _gtk_print_context_set_hard_margins (priv->print_context, top, bottom, left, right); + if (gtk_print_settings_get_number_up (settings) < 2) + { + if (gtk_printer_get_hard_margins (printer, &top, &bottom, &left, &right)) + _gtk_print_context_set_hard_margins (priv->print_context, top, bottom, left, right); + } + else + { + /* Pages do not have any unprintable area when printing n-up as each page on the + * sheet has been scaled down and translated to a position within the printable + * area of the sheet. + */ + _gtk_print_context_set_hard_margins (priv->print_context, 0, 0, 0, 0); + } if (page_setup != NULL && (gtk_print_operation_get_default_page_setup (op) == NULL || -- 2.30.2